﻿function BT_OtrosDatos() {

    //Botones del toolbar
    this.BtnToolbar = {
        Nuevo: "#Nuevo"
    };


    //Botones del Formulario
    this.BtnFormulario = {
        Aceptar: "#Aceptar",
        Cancelar: "#Cancelar"
    };

    this.ToolbarC = {
        //Hace referencia al Objeto ToolbarC (Toolbar)
        obj: '',

        //Hace referencia al Objeto padre
        self: '',

        Init: function (self) {
            this.self = self;
            this.obj = self.Toolbar;

            this.obj.find(this.self.BtnToolbar.Nuevo).click(function () {
                self.Form.Load(self.IdEmpresa);
                self.Formulario.slideDown("slow");
            })

        }
    };

    //Listado de los registros
    this.Listar = function () {
        var self = this;

        $.ajax({
            type: "POST",
            data: { idempresa: this.IdEmpresa },
            url: self.URL_LISTA,
            cache: false,
            success: function (html) {
                //Mostrando la lista de los registros                        
                self.Lista.html(html);
            }
        });
    };


    this.Form = {
        //Hace referencia al Objeto Form (Formulario)
        obj: '',

        //Hace referencia al Objeto padre
        self: '',

        //Cargando el formulario
        Load: function (IdActor) {
            data = { idactor: IdActor};
            this.Onload(data);
        },

        Onload: function (data) {
            var self = this.self;
            $.ajax({
                type: "POST",
                data: data,
                url: self.URL_FORMULARIO,
                cache: false,
                success: function (html) {
                    //Pintando el formulario
                    self.Formulario.html(html);

                    //Obteniendo el formulario y seteandolo
                    var form = self.Formulario.find("form");
                    form.attr("action", self.URL_REGISTRAR);
                    self.Form.obj = form;

                }
            });
        },

        Init: function (self) {

            this.self = self;

            var form = self.Formulario.find("form");
            self.Form.obj = form;
            form.attr("action", self.URL_REGISTRAR);

            //form quitando
            form.expire();

            //Validando los datos antes de ser enviados
            self.Form.ValidateForm(form);

            //Configuracion del Envio de datos del formulario
            form.livequery('submit', function () {

                //Si la validacion no es exitosa entonces no se realiza el submit
                if (!$(this).valid()) {
                    return false;
                }

                $(this).ajaxSubmit({
                    success: function (responseText, statusText, xhr, $form) {
                        //Listandom los registros
                        //if ((self.Lista) && (self.Lista != ""))
                        //    self.Listar(self.IdEmpresa);

                        //Recargando el formulario y ocultandolo
                        //self.Formulario.slideDown("slow", function () {
                            self.Form.Load(self.IdActor);
                        //});
                    }
                });
                return false;
            });

            //Configurando los botones
            //Funcion de Cancelar
            form.find(self.BtnFormulario.Cancelar).livequery("click", function () {
                self.Formulario.slideUp("slow", function () {
                    self.Form.Load();
                });
            });
        },

        //Validando los datos que esta ingresados en el formulario
        ValidateForm: function (form) {
            /*form.livequery(function () {
            });*/
        }
    };

    this.Init = function (data) {
        var self = this;

        //Contenedor
        this.Container = data.Container;

        //Sub-Contenedor
        this.Toolbar = data.Toolbar;
        this.Lista = data.Lista;
        this.Formulario = data.Formulario;

        //URL
        this.URL_LISTA = data.URL_LISTA;
        this.URL_FORMULARIO = data.URL_FORMULARIO;
        this.URL_REGISTRAR = data.URL_REGISTRAR;
        this.URL_ELIMINAR = data.URL_ELIMINAR;

        //Parametros
        this.IdActor = data.IdActor;

        //Inicializando datos        
        if (self.Container.find(self.Lista))
            self.Lista = self.Container.find(self.Lista);
        if (self.Container.find(self.Toolbar))
            self.Toolbar = self.Container.find(self.Toolbar);
        if (self.Container.find(self.Formulario))
            self.Formulario = self.Container.find(self.Formulario);

        //Inicializando el formulario
        if (self.Container.find(self.Formulario))
            self.Form.Init(self);

        if (self.Container.find(self.Toolbar))
            self.ToolbarC.Init(self);
    };
}
